#pragma once

#include "drawableactor.h"

namespace osg
{
	class TextureCubeMap;
}

namespace VrDataCore
{
	class VRDATACORE_EXPORT PoorerWaterActor:public DrawableActor
	{
	public:
		PoorerWaterActor();
		virtual void buildPropertyMap();
		virtual void onMapLoadBegin(CoreBase::Map*){}
		virtual void onMapLoadEnd(CoreBase::Map*);

		void setEnvironmentParameter(osg::TextureCubeMap* texture,const osg::Vec4& lightcolor,const osg::Vec4& fogcolors,
			const osg::Vec4& waterfogcolors,const osg::Vec4& underwaterdiffuse,const osg::Vec3& underwaterattenuations
			,const osg::Vec3& sunpositions,const osg::Vec4& sundiffuse,int environmenttype);
		void setRotationZ(QString z);
		QString getRotationZ();
		void setSize(osg::Vec2 size);
		osg::Vec2 getSize();
		int getEnvironmentType();
	protected:
		virtual void createDrawable();
		~PoorerWaterActor();
		QString						_rotationZ;
		osg::Vec2					_size;
		int							_environmentType;
	};
}